package cn.com.surker.report.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 付款统计
 * </p>
 *
 * @author admin
 * @since 2023-07-27
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class ReportPayment implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 标识
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    private String today;

    /**
     * 类型(0:日1:月2:年)
     */
    private Integer type;

    /**
     * 工厂id
     */
    private Long orgId;

    /**
     * 公司名称
     */
    private String orgName;

    /**
     * 人力资源部
     */
    private Double hr;

    /**
     * 财务部
     */
    private Double finance;

    /**
     * 销售部
     */
    private Double sale;

    /**
     * 审计部
     */
    private Double examine;

    /**
     * 生产部
     */
    private Double production;

    /**
     * 材料部
     */
    private Double material;

    /**
     * 技术部
     */
    private Double art;

    /**
     * 设备部
     */
    private Double device;

    /**
     * 工程部
     */
    private Double project;

    /**
     * 生产付款
     */
    private Double productionPay;

    /**
     * 材料付款
     */
    private Double materialPay;

    /**
     * 状态(0:启用1:禁用)
     */
    private Integer status;

    /**
     * 备注
     */
    private String remark;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date createTime;

    public ReportPayment(){}
    public ReportPayment(String today, Integer type, Long orgId, String orgName, Double hr, Double finance, Double sale, Double examine, Double production, Double material, Double art, Double device, Double project, Double productionPay, Double materialPay, Integer status, String remark, Date createTime) {
        this.today = today;
        this.type = type;
        this.orgId = orgId;
        this.orgName = orgName;
        this.hr = hr;
        this.finance = finance;
        this.sale = sale;
        this.examine = examine;
        this.production = production;
        this.material = material;
        this.art = art;
        this.device = device;
        this.project = project;
        this.productionPay = productionPay;
        this.materialPay = materialPay;
        this.status = status;
        this.remark = remark;
        this.createTime = createTime;
    }
}
